The Linux system is attractive because it offers a UNIX workstation environment that
works even on old PCs. The hardware requirements are not very demanding, unless you want
to get into application development and extensive GUI use. This chapter looks at the basic
hardware necessary for Linux installation. The minimum requirements are discussed, as is
support for most peripherals. Expanding your system with new hardware is covered later in
this book.
Because Linux was mostly developed by PC users, the hardware support built into the
operating system is fairly typical for a PC. Few esoteric devices have Linux drivers,
unless a programmer took the time to write one for himself and then release it to the
Linux community. Few third-party vendors offer hardware accessories (such as multiport
boards) for Linux either, although this situation is slowly changing as Linux becomes
widespread.
The minimum realistic system requirements for Linux are a motherboard with an 80386SX
processor or better, 2M of RAM or more, a floppy disk drive, a hard drive with 40M or
more, and a video card and monitor. Most user's systems exceed these requirements. The
following sections examine the hardware requirements for a Linux system in a little more
detail.
The hardware required to set up a Linux system mirrors a typical PC installation. It
starts with the motherboard, which should be an Intel 80386 or better (or use one of the
Intel workalikes like AMD or Cyrix). Remarkably, Linux will even run on a slow 80386SX,
although slow is the operative word. For application development work, though, an 80486DX
or better is recommended due to the high CPU usage of the compiler and linker. The same
recommendation applies to X users because X is a notorious CPU hog. You can compile
applications on an 80386, just as you can run X on one, but the performance can sometimes
deteriorate to the point of annoyance. For a realistic system running X and application
developments, consider a fast 80486DX (50MHz at least) or a Pentium.
Linux use a floating-point unit or FPU (also called a math co-processor, although the
two terms do not refer to exactly the same thing) if you have one. FPUs are built into the
80486DX and Pentium series chips. If an FPU is not installed, Linux will provide a
memory-based emulator that has reasonable performance. Either Intel or workalike add-on
FPUs are supported, although some problems have been reported with Weitek FPUs.
Linux supports both ISA (Industry Standard Architecture) and EISA (Extended Industry
Standard Architecture) motherboards, but doesn't support MCA (IBM's MicroChannel
Architecture) at the present time. Linux also supports VESA local bus motherboards, which
give peripheral cards direct access to the motherboard components.
RAM requirements vary depending on the size of the Linux system you want to run. A
minimum Linux system runs quite well with 2M, although a great deal of swapping is
involved. Consider 4M of RAM an effective minimum, with more memory resulting in faster
performance. For development work and X users, 8M is a good working minimum (although X
can function with 4M, albeit with a lot of swapping).
Linux systems that have more than one user should increase the amount of RAM. The usage
dictates the amount of RAM required. For example, 8M easily supports two users, even if
both are running X. With a third-party multiport board supporting eight users, 16M RAM is
a good choice, although the users cannot run X with this configuration. For X users, a
good rule of thumb is 4M per user minimum, unless the Linux machine can offload the X
processing to the user's machine in a client-server layout. (Linux doesn't have this
capability at the moment, but it is being developed).
Linux uses all the available RAM in your machine. It does not impose any architectural
limitations on memory as DOS and some other operating systems do. Any available memory is
completely used. To extend the amount of physical RAM on the system, a Linux swap
partition, called a swap space, is recommended. The swap space is used as a slower
extension of actual memory, where data can be exchanged with physical RAM. Even RAM-heavy
systems should have a swap space. The size of the swap space depends on the amount of RAM
on the system, the number of users, and the typical usage.
Table 2.1 shows a general guideline for determining the amount of RAM your system
should have. Begin by using the first column to determine which conditions are likely to
exist on your system (such as running X, running larger applications, or adding users),
and then move across to the minimum, recommended, and best performance columns. Consider
any program that uses a lot of RAM such as a word processor (not a line editor like vi), a
database, a spreadsheet program, or a desktop publishing system to be a large application.
Large applications also include video players, some sound editors, and similar multimedia
applications. The Development System entry is if you plan to do a lot of programming,
including X application development.
When you have identified all the conditions you will encounter, add the RAM
requirements for each condition down the column. For example, if you are going to run a
system with frequent use of a compiler (large application), X, and run an Internet WWW and
FTP server for a minimum system you would need 6M RAM. A minimum system runs slowly with
lots of disk swapping. A system with the recommended amount of RAM is a balance between
RAM usage and performance, and the best performance column minimizes swapping as much as
possible. Remember that these numbers are only guidelines. You can never have too much
RAM.
Table 2.1. Determining your RAM needs.
| Condition | Minimum | Recommended | Best Performance |
| Kernel and basic operation | 2M | 4M | 4M |
| Large applications and compilers | 1M | 2M | 2M |
| X | 2M | 4M | 4M |
| Additional character-based | .5M | .5M | 1M |
| users (per user) | |||
| Additional X users | 2M | 4M | 4M |
| Development system | 2M | 2M | 4M |
| Internet Server(FTP, WWW, WAIS, or Gopher server) | 1M | 2M | 4M |
Although Linux can run completely from a floppy disk with no hard disk, running it this
way doesn't offer a useful environment. Linux is designed primarily for hard disk use, and
supports all the common hard disk controller systems including IDE (Integrated Drive
Electronics), EIDE (Extended Integrated Drive Electronics), ESDI (Enhanced Small Device
Interface), RLL (Run Length Limited), and SCSI (Small Computer System Interface). Linux
supports the older 8-bit original PC controllers, although most controllers are 16-bit AT
designs.
Linux is not choosy about the manufacturer and type of hard disk. As a rule, if DOS can
handle the drive, so can Linux. This rule applies to all drives except SCSI drives, which
require special handling. Linux still is restricted by most PC BIOS versions that impose
limitations on the number of sectors, heads, and cylinders, however. There is an effective
1,024M size limit on drives with some older versions of Linux, and even some smaller
drives can't be handled properly by Linux or DOS because of the BIOS. More recent versions
of the operating system can overcome some of these limitations. The version of Linux on
the CD-ROM accompanying this book, for example, can use disk space over the 1G limit.
Linux supports most standard SCSI devices, but not all of the many different SCSI
controllers and protocols on the market work well with Linux. Linux does support the most
common SCSI controllers, though. Some other controllers are supported with enhanced BIOS
chips on the PC motherboard. A size limitation on the SCSI drives is still imposed by the
BIOS of many early versions of Linux, so a 2G drive will only have 1G available to Linux
and DOS. Other UNIX systems, like SCO UNIX, can use the rest of the drive. Later versions
of Linux (mostly any kernel from version 1.1 and on) can use more than 1G of disk space on
SCSI drives.
The size of disk space required by Linux depends on the parts of the operating system
that are installed. A minimum effective system is 20M, which gives enough room for the
basic utilities but not X. To load the entire basic Linux system, including development
tools and X, provide at least 150M just for the files. Then add whatever space is required
for your personal files and temporary storage for Linux. A good rule of thumb is to double
the space requirements. In addition to the user space, remember to leave room for the swap
space. Although the swap space size depends on what the system is used for, a good number
to use is 16M.
You can use more than one drive, although you should place a bootable root Linux
partition on the first drive. You also must load DOS on the first drive, although you can
place partitions on other drives. The number of drives supported depend on the drive
controller and BIOS. IDE systems are usually limited to two drives, but EIDE systems can
handle four drives (two drives off two controllers). ESDI and RLL controllers are usually
limited to two drives. SCSI controllers can handle up to seven drives per controller, and
a single system can contain several controllers. SCSI is the most versatile (and also the
most expensive) system.
Because hard disks are now inexpensive, obtaining large-capacity drives is relatively
easy. Linux can share a disk with up to three other operating systems (more with a few
tricks), so if you plan to load DOS and Linux, for example, allocate enough drive space
for both operating systems.
Linux can use almost any video card that works without special drivers under DOS,
including CGA, EGA, VGA, Super VGA, and Hercules video cards. Linux also supports some
enhanced resolution cards, such as the Cirrus Logic, Diamond, ATI, and Trident cards.
Because hundreds of video cards are available for DOS, though, not all of the available
cards have drivers for Linux. Because most cards support default VGA and SVGA modes, you
can use these modes in almost every case.
X can use the bitmap capabilities of a high-resolution card, although X can run on a
VGA or SVGA system as well. If you are using a specialty card designed for Windows, for
example, make sure that a video driver is available for Linux.
Linux doesn't use the mouse for character-based sessions, but it is necessary for X.
Linux handles practically every type of mouse and trackball that has DOS drivers,
including Microsoft, Logitech, and Mouse Systems. Linux supports both bus and serial
mouses.
Linux also supports some other pointing devices, including joysticks and pen systems
used for cursor movement. Some systems use a pointer pad that you can drag either your
finger or a stylus across; these systems work with Linux as long as they have drivers that
emulate a mouse (which most do). Finally, some touch-screens also work with Linux.
Your Linux system can use any SCSI tape drive that has a controller recognized by
Linux. Other tape drives use a proprietary interface that requires a dedicated hardware
card. In most cases, if the IRQ, DMA, and memory address can be configured into Linux, the
tape drive should be accessible. For example, you can use some older UNIX-style tape
drives, such as those made by Wangtek and Archive, under Linux even though they have a
proprietary board controlling them.
Some smaller QIC (Quarter Inch Cartridge) drives are becoming popular in DOS, driven
either by the floppy controller card or the parallel port. Drivers for some of these tape
drives are available for Linux, although not all of these tape drives are supported.
Because many of these small QIC drives rely on proprietary compression schemes to boost
data density on tapes, you may not be able to write more than the raw cartridge capacity
to these drives. In general, if the QIC driver runs off the floppy disk controller card
and is compatible with QIC-40 or QIC-80, it will work with Linux. QIC drives that run off
the parallel port do not have a driver for Linux at this time.
Because most CD-ROMs use a SCSI interface, you need either a SCSI controller card or an
interface on another card, such as a sound board. Linux recognizes and supports SCSI-based
CD-ROMs as long as their SCSI controller cards are recognized. If the SCSI port is on a
sound board, a special driver may be required. Some IDE CD-ROMs are also available; a
driver is needed for them (some drivers are included with Linux). In addition, some
proprietary CD-ROM drivers, such as those found on Sound Blaster sound boards, are
supported with later versions of Linux. Check the supproted hardware list available with
each kernel release for a complete catalog of all supported CD-ROM drives. In general, the
higher the kernel release number, the more likely a CD-ROM will be supported.
Linux can't read all formats of CD-ROMs. At the present it handles only ISO-9660 format
filesystems. Although ISO-9660 is widely used, not all CD-ROMs are written using it, so
don't be surprised if a DOS or Macintosh CD-ROM can't be mounted properly. Some UNIX
CD-ROMs are written with proprietary formats or with Rock Ridge extensions (which allow
long filenames). These CD-ROMs are usually not compatible with Linux's requirements.
Removable media support in Linux depends on the type of interface the media uses. Most
SCSI-based systems can be used, although the changing of media while a filesystem is
loaded is seldom properly supported. Iomega's Bernoulli systems and LaserSafe Pro
magneto-optical cartridge systems can all be used with Linux without special drivers, as
long as the cartridges can be formatted under DOS. Some other magneto-optical and
removable magnetic media systems will also function properly.
Some removable media, especially those which do not use SCSI but rely on a dedicated
hardware card, require special drivers. The very limited support in Linux for these
devices is mostly provided by programmers who have written a driver for their own use and
then made it public domain. No commercial removable media vendors are offering
Linux-specific drivers at the moment, although this situation should change as Linux
becomes widespread.
Parallel and serial port printers are widely supported as dumb lineprinter devices.
Although some drivers are available for specific popular printers, such as the Hewlett
Packard LaserJets and DeskJets, many printers do not have dedicated drivers yet. If no
driver exists for your printer, it will behave as an ASCII-only device.
There is no support at present for color printers, either laser, inkjet, or bubble-jet.
A driver should be available for the most popular color printer models in the near future.
Check the FTP and BBS sites (or the Linux WWW home pages) for more information.
Linux supports most serial asynchronous modems, as well as some synchronous modems.
Support for ISDN modems is being developed as well. As a general rule, Linux can use any
modem that DOS can use. Linux supports all baud rates, including the newer compression
schemes, with some driver installation. More than one modem is supported on the system.
Indeed, you can hang as many modems off a Linux system as you have serial ports.
Linux supports character-based terminals connected through a serial port or a multiport
card. You can use most existing character-based terminals, and you can add any terminal
for which you have the control codes. Graphics terminals, in the UNIX sense, use simple
ASCII graphic characters and are not X-capable.
Some versions of Linux support X terminals, although not all X terminals work properly.
X terminals typically need a very high-speed connection to properly display graphics
(either through a serial port or from a network). A PC running X client software can
function as an X terminal as well.
Some UNIX-based multiport cards will work with Linux, as the vendor or users have
released drivers. Before purchasing a multiport card, check the availability of drivers.
Some multiport cards offer expansion parallel ports as well as serial ports, and these
will also need drivers.
You can connect some multiport cards through a SCSI controller card instead of building
them as dedicated cards that plug into expansion slots. Even SCSI-based expansion cards
will need a driver for Linux to use them properly.
Because Linux is a UNIX system, its primary network protocol is TCP/IP. Other protocols
can be used with Linux, but TCP/IP is the most widely used because it is included with
each Linux software package and is the default network protocol. TCP/IP's role as the
protocol of the Internet also makes it popular.
TCP/IP is usually used over Ethernet networks, so most of Linux's networking systems
are designed around Ethernet. Many Ethernet network interface cards (NICs, also called
network adapters) are available. The most popular Ethernet cards from 3Com, Novell,
Western Digital, Hewlett Packard, and Intel all work cleanly with Linux. Many compatible
Ethernet NICs from other vendors also function properly.
Linux is freely available if you know where to look. Because Linux is distributed
without a central organization controlling it (as with commercial UNIX versions), no
single party is responsible for keeping Linux readily and easily available. You have to
find a source and make sure the version you receive has all the components, is recent, and
is relatively stable. Most distribution sources have the same releases available.
You can obtain a copy of Linux in several ways; use whichever method is most convenient
or economical, depending on your priorities. The most common method of obtaining a
complete set of Linux binaries and utilities is through a CD-ROM. Alternatives include FTP
sites and BBSs (bulletin board systems). You can also get a copy mailed to you.
The method by which you obtain Linux also dictates to some extent how complete the
distribution will be. CD-ROM versions, for example, usually have every piece of Linux
software available included on the disk; in contrast, some BBSs and FTP sites only offer a
small distribution that is enough to install and use as a basic system. The small systems,
for example, may not include the language compilers and X software.
Almost a dozen CD-ROM based distributions of Linux are available. They differ in the
version that is included on the disk, their organization, and the value-added features
they have, such as new installation documents and utilities as well as supporting printed
manuals. Of course, you also need a CD-ROM drive on your machine that will work with
Linux. Don't assume that any non-SCSI CD-ROM drive will workmany of them won't!
The version you obtain should have a recent release of the Linux software (compare
version numbers among CD-ROMs) as well as a complete set of accompanying utilities. It can
be hard to identify the contents from the sparse identification on the cover of some
CD-ROM collections, so you may find yourself unwittingly purchasing outdated material.
Luckily, the CD-ROMs tend to be inexpensive. The CD-ROM included at the back of this book
provides one of the most recent versions of Linux, along with many of the utilities and
source libraries. With this CD-ROM, you won't need to buy another version until you want
to upgrade to a later kernel.
A few vendors have dressed up their Linux collections with added utilities or boot
disks that make installation much easier. The addition of precompiled games, applications,
and user utilities makes these CD-ROMs a little more attractive. Some CD-ROMs also include
an accompanying manual. For the most part, these manuals are simply printed versions of
files on the CD-ROM, although some vendors have taken the time to write very readable
instructions for Linux. If you are a newcomer to Linux, this type of document can be very
useful.
File Transfer Protocol (FTP) is a widely used Internet protocol (part of the TCP/IP
family) that lets you transfer files from remote machines. Several anonymous FTP sites
distribute Linux software. (Anonymous means you don't need an account on the remote
machine to access the files; you log in as guest or anonymous and use your name or login
as a password.) If you have access to the Internet, either directly or through an on-line
service provider such as CompuServe, Delphi, or America Online, you can access the Linux
distribution sites.
To use FTP, you must be on a machine that supports TCP/IP. This can be your existing PC
running a DOS or Windows package that gives you FTP capabilities or a UNIX or Linux
workstation that is connected to an Internet service. Both ends of an FTP connection must
be running a program that provides FTP services. To download a file from a remote system,
you must start your FTP software and instruct it to connect to the FTP software running on
the remote machine.
The Internet has many FTP archive sites. These machines are designed to allow anyone to
connect to them and download software. In many cases, FTP archive sites mirror each other
so that they have exactly the same software. You connect to the site that is easiest to
get to. See the section in this chapter called "Linux FTP Archive Sites" for
more information.
Using FTP to connect to a Linux FTP site is quite easy (assuming you have access to the
Internet, of course). You must start FTP with the name of the remote system to which you
want to connect. If you are directly connected to the Internet, enter the ftp command with
the name of the remote site as shown in the following example:
ftp sunsite.unc.edu
If you are using an on-line service such as CompuServe of Delphi, you must access their
Internet service and invoke FTP from there. Most on-line services let you to enter the
name of the FTP site at a prompt.
When you issue the ftp command, your system attempts to connect to the remote machine.
When it completes the connection successfully, the remote machine prompts you for a user
ID. You must have a valid user ID and password for that system unless it supports
anonymous FTP (which all Linux FTP sites do). If anonymous FTP is supported on the remote
system, a message usually tells you that when you first connect.
The following login is for the Linux FTP archive site sunsite.unc.edu,
one of the most popular sites:
ftp sunsite.unc.edu 331 Guest login ok, send your complete e-mail address as password. Enter username (default: anonymous): anonymous Enter password [tparker@tpci.com]: |FTP| Open 230- WELCOME to UNC and SUN's anonymous ftp server 230- University of North Carolina 230- Office FOR Information Technology 230- SunSITE.unc.edu 230 Guest login ok, access restrictions apply. FTP>
The login for an anonymous FTP site is usually guest or anonymous. The login message
usually tells you which is used, or you can try both. The remote machine will prompt you
for a password in most cases. You don't have to supply one with some systems, and others
ask for your user name or ID. This information is used for tracking purposes only and has
no security problems associated with it (unless you don't have a password on your
account!).
After the login process is finished, you see the prompt FTP>. This prompt indicates
that the system is ready to accept FTP commands. Some systems display a short message when
you log in that may contain instructions for downloading files as well as any restrictions
that are placed on you as an anonymous FTP user. Other information may be displayed about
the location of useful files. For example, you may see messages like this one from the FTP
site sunsite.unc.edu:
To get a binary file, type: BINARY and then: GET "File.Name" newfilename To get a text file, type: ASCII and then: GET "File.Name" newfilename Names MUST match upper, lower case exactly. Use the "quotes" as shown. To get a directory, type: DIR. To change directory, type: CD "Dir.Name" To read a short text file, type: GET "File.Name" TT For more, type HELP or see FAQ in gopher. To quit, type EXIT or Control-Z. 230- If you email to info@sunsite.unc.edu you will be sent help information 230- about how to use the different services sunsite provides. 230- We use the Wuarchive experimental ftpd. if you "get" <directory>.tar.Z 230- or <file>.Z it will compress and/or tar it on the fly. Using ".gz" instead 230- of ".Z" will use the GNU zip (/pub/gnu/gzip*) instead, a superior 230- compression method.
Once you are on the remote system, you can use Linux (UNIX) commands to display file
contents and move around directories. To display the contents of a directory, use the
command ls or the DOS equivalent dir. To change to a subdirectory, use the cd <dir>
command. To return to the parent directory (the one above the current directory), use the
command cd ... Unlike Linux, no keyboard shortcuts are available with FTP so you will have
to type in the name of files or directories in their entirety (and correctly).
When you have moved through the directories and found a file you want to move back to
your system, use the FTP get command, as shown in the following code:
get "file1.txt"
Although quotation marks around filenames are optional for most versions of FTP, they do provide specific characters to the remote version, thereby preventing shell expansion. Using quotation marks can prevent accidental transfers of many files instead of just one or error messages from FTP.
The commands get (download) and put (upload) are relative to your home machine, not to
the remote. When you issue a get command, you are telling your system's FTP software to
get a file from the remote machine. A put command tells FTP to put a file from your local
machine onto the remote machine. Remember which command moves in which direction, or you
could overwrite files accidentally.
When you issue a get command, the remote system transfers data to your local machine
and displays a status message when it is completed. There is no indication of progress
during transmission of a large file, so be patient. The following is a sample transcript
of a get command:
FTP> get "file1.txt" 200 PORT command successful. 150 BINARY data connection for FILE1.TXT (27534 bytes) 226 BINARY Transfer complete. 27534 bytes received in 2.35 seconds (12 Kbytes/s).
FTP provides two modes of file transfer: ASCII (seven-bit characters) and Binary
(eight-bit characters). Some systems automatically switch between the two, although it is
a good idea to manually set the mode to ensure that you don't waste time. You must
download all Linux distribution files in Binary mode. To set FTP in Binary transfer mode
(for any executable file), type the command binary. You can toggle back to ASCII mode with
the command ASCII. If you transfer a binary file in ASCII mode, it will not be executable.
Transferring an ASCII file in Binary mode does not affect the contents of the file, so
Binary is a good default transfer mode.
Bear in mind that the Linux archives are quite sizable, and transferring even a small
distribution can take a while with asynchronous modems. If you use a slow modem (9,600
baud or less), you may want to consider an alternate method as you will have to stay
connected for many hours. Some remote sites limit the amount of time you can stay
connected. To quit FTP, type the command quit or exit. Both commands will close your
session on the remote machine. Then terminate FTP on your local machine.
The list of Linux FTP archive sites changes slowly, but the sites listed in this
section were all valid and reachable when this book was written. Many of these sites are
mirror sites, providing exactly the same contents. You can find the site nearest you by
looking at the country identifier at the end of the site name (uk=United Kingdom,
fr=France, and so on). If no country identifier is used, the site is most probably in the
U.S. With most versions of FTP, you can use either the site name or the IP address,
although the IP address is the best addressing method if the local Internet gateway cannot
resolve the site name. Make sure you enter the four components of the IP address
correctly.
The primary sites (also called home sites) for the Linux FTP archives are
tsx-11.mit.edu, sunsite.unc.edu, and nic.funet.fi. Home sites are where most of the new
software loads begin. The majority of sites in the following list mirror one of these
three sites. If you encounter difficulties connecting to a site, try another. If
difficulties persist, there may be a problem with your access to the Internet.
| Site name | IP Address | Directory |
| tsx-11.mit.edu | 18.172.1.2 | /pub/linux |
| sunsite.unc.edu | 152.2.22.81 | /pub/Linux |
| nic.funet.fi(Finland) | 128.214.6.100 | /pub/OS/Linux |
| ftp.mcc.ac.uk(U.K.) | 130.88.200.7 | /pub/linux |
| fgbl.fgb.mw.tu-muenchen.de(Denmark) | 129.187.200.1 | /pub/linux |
| ftp.infdrrnatik.twmuenchen.de(Denmark) | 131.159.0.110 | /pub/Linux |
| ftp.dfv.rwth-aachen.de(Denmark) | 137.226.4.105 | /pub/linux |
| ftp.informatik.rwth-aachen.de(Denmark) | 137.226.112.172 | /pub/Linux |
| ftp.ibp.fr(France) | 132.227.60.2 | /pub/linux |
| kirk.bu.oz.au(Australia) | 131.244.1.1 | /pub/OS/Linux |
| ftp.uu.net | 137.39.1.9 | /systems/unix/linux |
| wuarchive.wustl.edu | 128.252.135.4 | /systems/linux |
| ftp.win.tue.nl | 131.155.70.100 | /pub/linux |
| ftp.stack.urc.tue.nl | 131.155.2.71 | /pub/linux |
| ftp.ibr.cs.tu-bs.de | 134.169.34.15 | /pub/os/linux |
| ftp.denet.dk | 129.142.6.74 | /pub/OS/linux |
If you know how to use the World Wide Web (WWW) and have access to a Web server, you
can obtain a copy of Linux from several Web sites, including those shown in Chapter 1. The primary FTP site offers Web access through the
following URL:
http://sunsite.unc.edu/mdw/linux.html
Figure 2.1 shows the page on sunsite.unc.edu that enables you to download software
through the World Wide Web browser. From this page, you can download new Linux source code
and binaries. You can use any Web client software, such as Mosaic or Netscape, to access
the Web site and use the menu-driven system to download a copy of the Linux files. The Web
site also offers a documentation page.
Figure 2.1.
The sunsite.unc.edu site is the primary source for Linux software.
If you don't have access to a Linux distribution site to FTP the software, you can
still get the files transferred to you if you have a e-mail system that can reach a Linux
site. This method is an alternative for those using on-line systems that allow Internet
mail but do not allow direct access to FTP and those using some corporate systems that do
not allow you to dial out directly to reach FTP sites but can transfer e-mail.
To get Linux by e-mail from an FTP site, use the site's ftpmail utility. All of the
sites mentioned in the previous Linux FTP site list support ftpmail. To get complete
instructions on using ftpmail, send an e-mail message to ftpmail login at one of the sites
(for example, address your e-mail to ftpmail@sunsite.unc.edu).
The body of the e-mail message should have only the word help in it. Any other comments
may cause the ftpmail utility to incorrectly process your request. For this reason, you
may want to suppress any signature files that are appended to your e-mail automatically.
Upon receiving your request, ftpmail sends you instructions for using the service. In
most cases, you embed the FTP commands you want executed at the remote site as the body of
your mail message. For example, to get a directory listing of the Linux directory, send a
mail message with the following body:
open sunsite.unc.edu cd /pub/Linux ls quit
The ftpmail utility at the remote site processes the commands as if they were typed
directly into FTP. To transfer a file to yourself through e-mail, you could send the
following mail message:
open sunsite.unc.edu cd /pub/Linux binary get README quit
This message sends you the file README back through e-mail. The ftpmail system is
slower than FTP because you must wait for the e-mail to make its way to the target
machine, be processed by the remote system's ftpmail utility, format a reply, and send the
return message back to you. Still, ftpmail does provide a useful access method for those
without FTP connections and an easy way to check the contents of the Linux directories on
several machines without having to log in to them, which can be useful when you want to
occasionally check for updates to the software.
The files you want to transfer may exceed your mail system's maximum file size limits. Some mail systems will break the files into smaller chunks and allow you to reassemble them when you receive them, but other e-mail systems impose a small size limit on e-mail, making it impractical to use ftpmail to get large files like the complete Linux software distribution.
Hundreds of BBSs around the world now provide access to the Linux distribution software
and support Linux discussion groups. Some BBSs download new Linux releases regularly from
the FTP home sites, while others rely on their users to update the software.
Any list of BBSs with Linux software would be lengthy and out of date quickly. The best
method of obtaining this information is to request it from Zane Healy, who maintains a
complete list of BBSs offering Linux material. Send e-mail requesting the Linux list to
healyzh@holonet.net. If you don't have access to e-mail, try a few local bulletin board
systems and post messages asking for local sites that offer Linux software, or ask someone
with Internet access to post e-mail for you. Many BBSs will also have the list, although
the accuracy of the list will vary.
A release is a collection of Linux software sufficient to install and run the entire
operating system. The release is made up of a number of collections of software called a
disk set (even though they may not come on disks). Most Linux systems have a number of
disk sets included when you obtain the distribution set.
Although most of the CD-ROMs and FTP sites have the same software, a few label the disk
sets differently. To illustrate the disk sets available with Linux, the following list
details the current group of disk sets available with the Slackware distribution (one of
the more popular CD-ROM versions of Linux and the one included with this book):
Although Disk Set A will let you install a Linux system from a floppy disk, you should
have Disk Sets A, AP, D, and F for a full installation (hard disk based with standard
utilities). This collection gives you a character-based Linux system. If you want to run
X, you also need Disk Sets X and XAP. Programmers need to load the development disk sets
(D and XD, for X applications).
This chapter examined the software and hardware that make up a Linux system. You should
have hardware sufficient to run Linux before you start installing; otherwise, you will see
all manner of error messages (if the system installs at all). Once you have the hardware
ready and you know what software from the distribution set you are going to install, it's
time to get Linux on a hard disk. The next chapter looks at the physical installation
process. Chapter 4 covers LILO, the boot loader.